LOOKUP_DCOOKIE(2) | Linux Programmer's Manual | LOOKUP_DCOOKIE(2) |
名前¶
lookup_dcookie - ディレクトリ・エントリのパス名を返す
書式¶
int lookup_dcookie(u64 cookie, char *buffer, size_t len);
説明¶
cookie 値で指定されたディレクトリ・エントリのフルパス名を検索する。 cookie は、個々のディレクトリ・エントリを区別する内部識別子 (opaque identifier) である。引き数で指定されたバッファに、ディレクトリ・エントリの フルパス名が格納される。
lookup_dcookie() が正常に値を返すためには、カーネルがディレクトリ・エントリへの cookie 参照を 保持していなければならない。
返り値¶
成功した場合、 lookup_dcookie() はバッファにコピーしたパス文字列の長さを返す。 エラーの場合は -1 を返し、 errno に適切な値を設定する。
エラー¶
- EFAULT
- バッファが有効でなかった。
- EINVAL
- 検索が行われた時、cookie とディレクトリ・エントリのマッピングがカーネルに 登録されていなかったか、または cookie が有効なディレクトリ・エントリを 参照していない。
- ENAMETOOLONG
- 名前がバッファに入り切らなかった。
- ENOMEM
- カーネルが、パス名を保持する一時バッファ用のメモリを割り当てることが できなかった。
- EPERM
- プロセスが cookie 値を検索するのに必要なケーパビリティ CAP_SYS_ADMIN を持っていない。
- ERANGE
- バッファが、ディレクトリ・エントリのパス名を収容するのに 十分な大きさではなかった。
バージョン¶
Linux 2.5.43 以降で利用できる。 エラー ENAMETOOLONG を返す仕様は 2.5.70 で追加された。
準拠¶
lookup_dcookie() は Linux 独自の関数である。
注意¶
lookup_dcookie() は特殊な用途に使われるシステムコールで、現在のところ oprofile profiler で 使われているだけである。
指定されたディレクトリ・エントリが削除されていた場合、返されるパス名の最後に " (deleted)" という文字列が付加されることがある。
2004-06-17 | Linux |